//package com.qinghong.blog.dto;
//
//import lombok.Builder;
//import lombok.Data;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.authority.SimpleGrantedAuthority;
//import org.springframework.security.core.userdetails.UserDetails;
//
//import java.util.Collection;
//import java.util.List;
//import java.util.Set;
//import java.util.stream.Collectors;
//
///**
// * 用户登录信息
// */
//@Data
//@Builder
//public class UserInfoDTO implements UserDetails {
//
//    /**
//     * 用户账号id
//     */
//    private Integer id;
//
//    /**
//     * 用户信息id
//     */
//    private Integer userInfoId;
//
//    /**
//     * 邮箱号
//     */
//    private String email;
//
//    /**
//     * 登录方式
//     */
//    private Integer loginType;
//
//    /**
//     * 用户名
//     */
//    private String username;
//
//    /**
//     * 密码
//     */
//    private String password;
//
//    /**
//     * 用户角色
//     */
//    private List<String> roleList;
//
//    /**
//     * 用户昵称
//     */
//    private String nickname;
//
//    /**
//     * 用户头像
//     */
//    private String avatar;
//
//    /**
//     * 用户简介
//     */
//    private String intro;
//
//    /**
//     * 个人网站
//     */
//    private String webSite;
//
//    /**
//     * 点赞文章集合
//     */
//    private Set<Integer> articleLikeSet;
//
//    /**
//     * 点赞评论集合
//     */
//    private Set<Integer> commentLikeSet;
//
//    /**
//     * 用户登录ip
//     */
//    private String ipAddr;
//
//    /**
//     * ip来源
//     */
//    private String ipSource;
//
//    /**
//     * 浏览器
//     */
//    private String browser;
//
//    /**
//     * 操作系统
//     */
//    private String os;
//
//    /**
//     * 最近登录时间
//     */
//    private Date lastLoginTime;
//
//
//
//    @Override
//    public Collection<? extends GrantedAuthority> getAuthorities() {
//        return this.roleList.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toSet());
//    }
//
//    @Override
//    public String getPassword() {
//        return this.password;
//    }
//
//    @Override
//    public String getUsername() {
//        return this.username;
//    }
//
//    @Override
//    public boolean isAccountNonExpired() {
//        return true;
//    }
//
//    @Override
//    public boolean isAccountNonLocked() {
//        return true;
//    }
//
//    @Override
//    public boolean isCredentialsNonExpired() {
//        return true;
//    }
//
//    @Override
//    public boolean isEnabled() {
//        return true;
//    }
//
//}
